home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 July: Mac OS SDK / Dev.CD Jul 96 SDK / Dev.CD Jul 96 SDK1.toast / Development Kits (Disc 1) / AppleScript / Documentation / Apple Event Registry / Database Suite / DB aete / Database.aete.r next >
Encoding:
Text File  |  1993-03-15  |  37.8 KB  |  2,409 lines  |  [TEXT/MPS ]

  1. /* DB aete.r                                                            */
  2. /* Created on 18 June 1992.                                                */
  3.  
  4. /* Change History:
  5. /*     5/4/92    Began with 'aeut' of 2/18/92 & DB Suite                        */
  6. /*  6/18/92    Incorporated Brendan’s proofreading                            */
  7.  
  8. #include "AEUserTermTypes.r"
  9. #include "AppleEvents.r"
  10. #include "AEObjects.r"
  11. #include "AERegistry.r"
  12. #include "AEDatabase.r"
  13.  
  14. resource 'aete' (0, "Database Event Suite") {
  15.     0x00,
  16.     0x96,
  17.     english,
  18.     roman,
  19.     {    /* array Suites: 2 elements */
  20.         /* [1] */
  21.         "Database Suite",
  22.         "Events that every Database application should support",
  23.         kAEDBSuite,
  24.         1,
  25.         1,
  26.         {    /* array Events: 3 elements */
  27.             /* [1] */
  28.             "Abort Transaction",
  29.             "Abort this transaction",
  30.             kAEDatabase,
  31.             kAEAbortTransaction,
  32.             noReply,
  33.             "",
  34.             replyOptional,
  35.             singleItem,
  36.             notEnumerated,
  37.             reserved,
  38.             reserved,
  39.             reserved,
  40.             reserved,
  41.             reserved,
  42.             reserved,
  43.             reserved,
  44.             reserved,
  45.             reserved,
  46.             reserved,
  47.             reserved,
  48.             reserved,
  49.             reserved,
  50.             noParams,
  51.             "",
  52.             directParamOptional,
  53.             singleItem,
  54.             notEnumerated,
  55.             changesState,    /* ??? */
  56.             reserved,
  57.             reserved,
  58.             reserved,
  59.             reserved,
  60.             reserved,
  61.             reserved,
  62.             reserved,
  63.             reserved,
  64.             reserved,
  65.             reserved,
  66.             reserved,
  67.             reserved,
  68.             {    /* array OtherParams: 0 elements */
  69.             },
  70.             /* [2] */
  71.             "Begin Transaction",    /* ??? */
  72.             "Begin a transaction",    /* ??? */
  73.             kAEMiscStandards,
  74.             kAEBeginTransaction,
  75.             typeLongInteger,
  76.             "The transaction ID",    /* ??? */
  77.             replyRequired,
  78.             singleItem,
  79.             notEnumerated,
  80.             reserved,
  81.             reserved,
  82.             reserved,
  83.             reserved,
  84.             reserved,
  85.             reserved,
  86.             reserved,
  87.             reserved,
  88.             reserved,
  89.             reserved,
  90.             reserved,
  91.             reserved,
  92.             reserved,
  93.             typeObjectSpecifier,
  94.             "The Session that this transaction belongs to",
  95.             directParamOptional,
  96.             singleItem,
  97.             notEnumerated,
  98.             changesState,
  99.             reserved,
  100.             reserved,
  101.             reserved,
  102.             reserved,
  103.             reserved,
  104.             reserved,
  105.             reserved,
  106.             reserved,
  107.             reserved,
  108.             reserved,
  109.             reserved,
  110.             reserved,
  111.             {    /* array OtherParams: 0 elements */
  112.             },
  113.             /* [3] */
  114.             "Group",
  115.             "Summarize a table",
  116.             kAEDatabase,
  117.             kAEGroup,
  118.             typeObjectSpecifier,
  119.             "The summary table",
  120.             replyOptional,
  121.             singleItem,
  122.             notEnumerated,
  123.             reserved,
  124.             reserved,
  125.             reserved,
  126.             reserved,
  127.             reserved,
  128.             reserved,
  129.             reserved,
  130.             reserved,
  131.             reserved,
  132.             reserved,
  133.             reserved,
  134.             reserved,
  135.             reserved,
  136.             typeObjectSpecifier,
  137.             "The columns to use in the summary",
  138.             directParamRequired,
  139.             singleItem,
  140.             notEnumerated,
  141.             changesState,
  142.             reserved,
  143.             reserved,
  144.             reserved,
  145.             reserved,
  146.             reserved,
  147.             reserved,
  148.             reserved,
  149.             reserved,
  150.             reserved,
  151.             reserved,
  152.             reserved,
  153.             reserved,
  154.             {    /* array OtherParams: 3 elements */
  155.                 /* [1] */
  156.                 "with",
  157.                 keyAEGroupColumns,
  158.                 typeObjectSpecifier,
  159.                 "The columns to summarize",
  160.                 required,
  161.                 singleItem,
  162.                 notEnumerated,
  163.                 reserved,
  164.                 reserved,
  165.                 reserved,
  166.                 reserved,
  167.                 reserved,
  168.                 reserved,
  169.                 reserved,
  170.                 reserved,
  171.                 reserved,
  172.                 reserved,
  173.                 reserved,
  174.                 reserved,
  175.                 reserved,
  176.                 /* [2] */
  177.                 "as",
  178.                 keyAEGroupFunctions,
  179.                 enumGroupFunctions,
  180.                 "The functions to summarize with",
  181.                 required,
  182.                 listOfItems,
  183.                 enumerated,
  184.                 reserved,
  185.                 reserved,
  186.                 reserved,
  187.                 reserved,
  188.                 reserved,
  189.                 reserved,
  190.                 reserved,
  191.                 reserved,
  192.                 reserved,
  193.                 reserved,
  194.                 reserved,
  195.                 reserved,
  196.                 reserved,
  197.                 /* [3] */
  198.                 "to",
  199.                 keyAEInsertHere,
  200.                 typeInsertionLoc,
  201.                 "The new location for the object",
  202.                 optional,
  203.                 singleItem,
  204.                 notEnumerated,
  205.                 reserved,
  206.                 reserved,
  207.                 reserved,
  208.                 reserved,
  209.                 reserved,
  210.                 reserved,
  211.                 reserved,
  212.                 reserved,
  213.                 reserved,
  214.                 reserved,
  215.                 reserved,
  216.                 reserved,
  217.                 reserved
  218.             },
  219.             /* [4] */
  220.             "Sort",
  221.             "Sort a table",
  222.             kAEDatabase,
  223.             kAESort,
  224.             noReply,
  225.             "",
  226.             replyOptional,
  227.             singleItem,
  228.             notEnumerated,
  229.             reserved,
  230.             reserved,
  231.             reserved,
  232.             reserved,
  233.             reserved,
  234.             reserved,
  235.             reserved,
  236.             reserved,
  237.             reserved,
  238.             reserved,
  239.             reserved,
  240.             reserved,
  241.             reserved,
  242.             typeObjectSpecifier,
  243.             "The table to sort",
  244.             directParamRequired,
  245.             singleItem,
  246.             notEnumerated,
  247.             changesState,
  248.             reserved,
  249.             reserved,
  250.             reserved,
  251.             reserved,
  252.             reserved,
  253.             reserved,
  254.             reserved,
  255.             reserved,
  256.             reserved,
  257.             reserved,
  258.             reserved,
  259.             reserved,
  260.             {    /* array OtherParams: 3 elements */
  261.                 /* [1] */
  262.                 "by",
  263.                 keyAESortElement,
  264.                 typeObjectSpecifier,
  265.                 "The columns by which to sort",
  266.                 required,
  267.                 listOfItems,
  268.                 notEnumerated,
  269.                 reserved,
  270.                 reserved,
  271.                 reserved,
  272.                 reserved,
  273.                 reserved,
  274.                 reserved,
  275.                 reserved,
  276.                 reserved,
  277.                 reserved,
  278.                 reserved,
  279.                 reserved,
  280.                 reserved,
  281.                 reserved,
  282.                 /* [2] */
  283.                 "in order",
  284.                 keyAESortType,
  285.                 typeShortInteger,
  286.                 "The sort type",
  287.                 required,
  288.                 listOfItems,
  289.                 enumerated,
  290.                 reserved,
  291.                 reserved,
  292.                 reserved,
  293.                 reserved,
  294.                 reserved,
  295.                 reserved,
  296.                 reserved,
  297.                 reserved,
  298.                 reserved,
  299.                 reserved,
  300.                 reserved,
  301.                 reserved,
  302.                 reserved
  303.             }
  304.         },
  305.         {    /* array Classes: 10 elements */
  306.             /* [1] */
  307.             "cell",
  308.             cCell,
  309.             "A cell in a table",
  310.             {    /* array Properties: 8 elements */
  311.                 /* [1] */
  312.                 "best type",
  313.                 pBestType,
  314.                 cType,
  315.                 "The best descriptor type",
  316.                 reserved,
  317.                 singleItem,
  318.                 notEnumerated,
  319.                 readOnly,
  320.                 reserved,
  321.                 reserved,
  322.                 reserved,
  323.                 reserved,
  324.                 reserved,
  325.                 reserved,
  326.                 reserved,
  327.                 reserved,
  328.                 reserved,
  329.                 reserved,
  330.                 reserved,
  331.                 reserved,
  332.                 /* [2] */
  333.                 "class",
  334.                 pClass,
  335.                 cType,
  336.                 "The class",
  337.                 reserved,
  338.                 singleItem,
  339.                 notEnumerated,
  340.                 readOnly,
  341.                 reserved,
  342.                 reserved,
  343.                 reserved,
  344.                 reserved,
  345.                 reserved,
  346.                 reserved,
  347.                 reserved,
  348.                 reserved,
  349.                 reserved,
  350.                 reserved,
  351.                 reserved,
  352.                 reserved,
  353.                 /* [3] */
  354.                 "default type",
  355.                 pDefaultType,
  356.                 cType,
  357.                 "The default descriptor type",
  358.                 reserved,
  359.                 singleItem,
  360.                 notEnumerated,
  361.                 readOnly,
  362.                 reserved,
  363.                 reserved,
  364.                 reserved,
  365.                 reserved,
  366.                 reserved,
  367.                 reserved,
  368.                 reserved,
  369.                 reserved,
  370.                 reserved,
  371.                 reserved,
  372.                 reserved,
  373.                 reserved,
  374.                 /* [4] */
  375.                 "formula",
  376.                 pFormula,
  377.                 cText,
  378.                 "The formula for the cell",
  379.                 reserved,
  380.                 singleItem,
  381.                 notEnumerated,
  382.                 readWrite,
  383.                 reserved,
  384.                 reserved,
  385.                 reserved,
  386.                 reserved,
  387.                 reserved,
  388.                 reserved,
  389.                 reserved,
  390.                 reserved,
  391.                 reserved,
  392.                 reserved,
  393.                 reserved,
  394.                 reserved,
  395.                 /* [5] */
  396.                 "lock",
  397.                 pLock,
  398.                 enumLockTypes,
  399.                 "The lock status of the cell",
  400.                 reserved,
  401.                 singleItem,
  402.                 enumerated,
  403.                 readWrite,
  404.                 reserved,
  405.                 reserved,
  406.                 reserved,
  407.                 reserved,
  408.                 reserved,
  409.                 reserved,
  410.                 reserved,
  411.                 reserved,
  412.                 reserved,
  413.                 reserved,
  414.                 reserved,
  415.                 reserved,
  416.                 /* [6] */
  417.                 "name",
  418.                 pName,
  419.                 cText,
  420.                 "The name of the cell",
  421.                 reserved,
  422.                 singleItem,
  423.                 notEnumerated,
  424.                 readOnly,
  425.                 reserved,
  426.                 reserved,
  427.                 reserved,
  428.                 reserved,
  429.                 reserved,
  430.                 reserved,
  431.                 reserved,
  432.                 reserved,
  433.                 reserved,
  434.                 reserved,
  435.                 reserved,
  436.                 reserved,
  437.                 /* [7] */
  438.                 "protection",
  439.                 pProtection,
  440.                 enumProtection,
  441.                 "The protection of this cell",
  442.                 reserved,
  443.                 singleItem,
  444.                 enumerated,
  445.                 readWrite,
  446.                 reserved,
  447.                 reserved,
  448.                 reserved,
  449.                 reserved,
  450.                 reserved,
  451.                 reserved,
  452.                 reserved,
  453.                 reserved,
  454.                 reserved,
  455.                 reserved,
  456.                 reserved,
  457.                 reserved,
  458.                 /* [8] */
  459.                 "repeat size",
  460.                 pRepeatSize,
  461.                 cLongInteger,
  462.                 "Number of items in this cell",
  463.                 reserved,
  464.                 singleItem,
  465.                 notEnumerated,
  466.                 readOnly,
  467.                 reserved,
  468.                 reserved,
  469.                 reserved,
  470.                 reserved,
  471.                 reserved,
  472.                 reserved,
  473.                 reserved,
  474.                 reserved,
  475.                 reserved,
  476.                 reserved,
  477.                 reserved,
  478.                 reserved,
  479.                 /* [9] */
  480.                 "value",
  481.                 pValue,
  482.                 cText,
  483.                 "The data in this cell",
  484.                 reserved,
  485.                 singleItem,
  486.                 notEnumerated,
  487.                 readWrite,
  488.                 reserved,
  489.                 reserved,
  490.                 reserved,
  491.                 reserved,
  492.                 reserved,
  493.                 reserved,
  494.                 reserved,
  495.                 reserved,
  496.                 reserved,
  497.                 reserved,
  498.                 reserved,
  499.                 reserved,
  500.             },
  501.             {    /* array Elements: 0 elements */
  502.             },
  503.             /* [2] */
  504.             "column",
  505.             cColumn,
  506.             "A column in a table",
  507.             {    /* array Properties: 15 elements */
  508.                 /* [1] */
  509.                 "access",
  510.                 pAccess,
  511.                 enumAccess,
  512.                 "The access privilege",
  513.                 reserved,
  514.                 singleItem,
  515.                 enumerated,
  516.                 readOnly,
  517.                 reserved,
  518.                 reserved,
  519.                 reserved,
  520.                 reserved,
  521.                 reserved,
  522.                 reserved,
  523.                 reserved,
  524.                 reserved,
  525.                 reserved,
  526.                 reserved,
  527.                 reserved,
  528.                 reserved,
  529.                 /* [2] */
  530.                 "best type",
  531.                 pBestType,
  532.                 cType,
  533.                 "The best descriptor type",
  534.                 reserved,
  535.                 singleItem,
  536.                 notEnumerated,
  537.                 readOnly,
  538.                 reserved,
  539.                 reserved,
  540.                 reserved,
  541.                 reserved,
  542.                 reserved,
  543.                 reserved,
  544.                 reserved,
  545.                 reserved,
  546.                 reserved,
  547.                 reserved,
  548.                 reserved,
  549.                 reserved,
  550.                 /* [3] */
  551.                 "class",
  552.                 pClass,
  553.                 cType,
  554.                 "The class",
  555.                 reserved,
  556.                 singleItem,
  557.                 notEnumerated,
  558.                 readOnly,
  559.                 reserved,
  560.                 reserved,
  561.                 reserved,
  562.                 reserved,
  563.                 reserved,
  564.                 reserved,
  565.                 reserved,
  566.                 reserved,
  567.                 reserved,
  568.                 reserved,
  569.                 reserved,
  570.                 reserved,
  571.                 /* [4] */
  572.                 "default type",
  573.                 pDefaultType,
  574.                 cType,
  575.                 "The default descriptor type",
  576.                 reserved,
  577.                 singleItem,
  578.                 notEnumerated,
  579.                 readOnly,
  580.                 reserved,
  581.                 reserved,
  582.                 reserved,
  583.                 reserved,
  584.                 reserved,
  585.                 reserved,
  586.                 reserved,
  587.                 reserved,
  588.                 reserved,
  589.                 reserved,
  590.                 reserved,
  591.                 reserved,
  592.                 /* [5] */
  593.                 "formula",
  594.                 pFormula,
  595.                 cText,
  596.                 "The formula for the column",
  597.                 reserved,
  598.                 singleItem,
  599.                 notEnumerated,
  600.                 readWrite,
  601.                 reserved,
  602.                 reserved,
  603.                 reserved,
  604.                 reserved,
  605.                 reserved,
  606.                 reserved,
  607.                 reserved,
  608.                 reserved,
  609.                 reserved,
  610.                 reserved,
  611.                 reserved,
  612.                 reserved,
  613.                 /* [6] */
  614.                 "lock",
  615.                 pLock,
  616.                 enumLockTypes,
  617.                 "The lock status of the column",
  618.                 reserved,
  619.                 singleItem,
  620.                 enumerated,
  621.                 readWrite,
  622.                 reserved,
  623.                 reserved,
  624.                 reserved,
  625.                 reserved,
  626.                 reserved,
  627.                 reserved,
  628.                 reserved,
  629.                 reserved,
  630.                 reserved,
  631.                 reserved,
  632.                 reserved,
  633.                 reserved,
  634.                 /* [7] */
  635.                 "name",
  636.                 pName,
  637.                 cText,
  638.                 "The name of the column",
  639.                 reserved,
  640.                 singleItem,
  641.                 notEnumerated,
  642.                 readWrite,
  643.                 reserved,
  644.                 reserved,
  645.                 reserved,
  646.                 reserved,
  647.                 reserved,
  648.                 reserved,
  649.                 reserved,
  650.                 reserved,
  651.                 reserved,
  652.                 reserved,
  653.                 reserved,
  654.                 reserved,
  655.                 /* [9] */
  656.                 "nulls allowed",
  657.                 pNullsOK,
  658.                 cBoolean,
  659.                 "Are nulls allowed in this column?",
  660.                 reserved,
  661.                 singleItem,
  662.                 notEnumerated,
  663.                 readOnly,
  664.                 reserved,
  665.                 reserved,
  666.                 reserved,
  667.                 reserved,
  668.                 reserved,
  669.                 reserved,
  670.                 reserved,
  671.                 reserved,
  672.                 reserved,
  673.                 reserved,
  674.                 reserved,
  675.                 reserved,
  676.                 /* [10] */
  677.                 "protection",
  678.                 pProtection,
  679.                 enumProtection,
  680.                 "The protection of this column",
  681.                 reserved,
  682.                 singleItem,
  683.                 enumerated,
  684.                 readWrite,
  685.                 reserved,
  686.                 reserved,
  687.                 reserved,
  688.                 reserved,
  689.                 reserved,
  690.                 reserved,
  691.                 reserved,
  692.                 reserved,
  693.                 reserved,
  694.                 reserved,
  695.                 reserved,
  696.                 reserved,
  697.                 /* [11] */
  698.                 "repeating",
  699.                 pRepeating,
  700.                 enumRepeatValues,
  701.                 "The type of repeating column",
  702.                 reserved,
  703.                 singleItem,
  704.                 enumerated,
  705.                 readOnly,
  706.                 reserved,
  707.                 reserved,
  708.                 reserved,
  709.                 reserved,
  710.                 reserved,
  711.                 reserved,
  712.                 reserved,
  713.                 reserved,
  714.                 reserved,
  715.                 reserved,
  716.                 reserved,
  717.                 reserved,
  718.                 /* [12] */
  719.                 "repeat size",
  720.                 pRepeatSize,
  721.                 cLongInteger,
  722.                 "Maximum number of values in each cell of this column",
  723.                 reserved,
  724.                 singleItem,
  725.                 notEnumerated,
  726.                 readOnly,
  727.                 reserved,
  728.                 reserved,
  729.                 reserved,
  730.                 reserved,
  731.                 reserved,
  732.                 reserved,
  733.                 reserved,
  734.                 reserved,
  735.                 reserved,
  736.                 reserved,
  737.                 reserved,
  738.                 reserved,
  739.                 /* [13] */
  740.                 "unique value",
  741.                 pUniqueValue,
  742.                 cBoolean,
  743.                 "Must the values in this column be unique?",
  744.                 reserved,
  745.                 singleItem,
  746.                 notEnumerated,
  747.                 readOnly,
  748.                 reserved,
  749.                 reserved,
  750.                 reserved,
  751.                 reserved,
  752.                 reserved,
  753.                 reserved,
  754.                 reserved,
  755.                 reserved,
  756.                 reserved,
  757.                 reserved,
  758.                 reserved,
  759.                 reserved,
  760.             },
  761.             {    /* array Elements: 2 elements */
  762.                 /* [1] */
  763.                 cCell,
  764.                 {    /* array KeyForms: 6 elements */
  765.                     /* [1] */
  766.                     formAbsolutePosition,
  767.                     /* [2] */
  768.                     formName,
  769.                     /* [3] */
  770.                     formPropertyID,
  771.                     /* [4] */
  772.                     formRange,
  773.                     /* [5] */
  774.                     formRelativePosition,
  775.                     /* [6] */
  776.                     formTest
  777.                 },
  778.                 /* [2] */
  779.                 cColumn,
  780.                 {    /* array KeyForms: 6 elements */
  781.                     /* [1] */
  782.                     formAbsolutePosition,
  783.                     /* [2] */
  784.                     formName,
  785.                     /* [3] */
  786.                     formPropertyID,
  787.                     /* [4] */
  788.                     formRange,
  789.                     /* [5] */
  790.                     formRelativePosition,
  791.                     /* [6] */
  792.                     formTest
  793.                 }
  794.             },
  795.             /* [3] */
  796.             "database",
  797.             cDatabase,
  798.             "A database",
  799.             {    /* array Properties: 6 elements */
  800.                 /* [1] */
  801.                 "access privileges",
  802.                 pAccess,
  803.                 enumAccess,
  804.                 "Value and formula protection privileges",
  805.                 reserved,
  806.                 singleItem,
  807.                 enumerated,
  808.                 readOnly,
  809.                 reserved,
  810.                 reserved,
  811.                 reserved,
  812.                 reserved,
  813.                 reserved,
  814.                 reserved,
  815.                 reserved,
  816.                 reserved,
  817.                 reserved,
  818.                 reserved,
  819.                 reserved,
  820.                 reserved,
  821.                 /* [2] */
  822.                 "best type",
  823.                 pBestType,
  824.                 cType,
  825.                 "The best descriptor type",
  826.                 reserved,
  827.                 singleItem,
  828.                 notEnumerated,
  829.                 readOnly,
  830.                 reserved,
  831.                 reserved,
  832.                 reserved,
  833.                 reserved,
  834.                 reserved,
  835.                 reserved,
  836.                 reserved,
  837.                 reserved,
  838.                 reserved,
  839.                 reserved,
  840.                 reserved,
  841.                 reserved,
  842.                 /* [3] */
  843.                 "class",
  844.                 pClass,
  845.                 cType,
  846.                 "The class",
  847.                 reserved,
  848.                 singleItem,
  849.                 notEnumerated,
  850.                 readOnly,
  851.                 reserved,
  852.                 reserved,
  853.                 reserved,
  854.                 reserved,
  855.                 reserved,
  856.                 reserved,
  857.                 reserved,
  858.                 reserved,
  859.                 reserved,
  860.                 reserved,
  861.                 reserved,
  862.                 reserved,
  863.                 /* [4] */
  864.                 "default type",
  865.                 pDefaultType,
  866.                 cType,
  867.                 "The default descriptor type",
  868.                 reserved,
  869.                 singleItem,
  870.                 notEnumerated,
  871.                 readOnly,
  872.                 reserved,
  873.                 reserved,
  874.                 reserved,
  875.                 reserved,
  876.                 reserved,
  877.                 reserved,
  878.                 reserved,
  879.                 reserved,
  880.                 reserved,
  881.                 reserved,
  882.                 reserved,
  883.                 reserved,
  884.                 /* [5] */
  885.                 "lock",
  886.                 pLock,
  887.                 enumLockTypes,
  888.                 "The lock status of this database",
  889.                 reserved,
  890.                 singleItem,
  891.                 enumerated,
  892.                 readWrite,
  893.                 reserved,
  894.                 reserved,
  895.                 reserved,
  896.                 reserved,
  897.                 reserved,
  898.                 reserved,
  899.                 reserved,
  900.                 reserved,
  901.                 reserved,
  902.                 reserved,
  903.                 reserved,
  904.                 reserved,
  905.                 /* [6] */
  906.                 "name",
  907.                 pName,
  908.                 cText,
  909.                 "The name of the database",
  910.                 reserved,
  911.                 singleItem,
  912.                 notEnumerated,
  913.                 readOnly,
  914.                 reserved,
  915.                 reserved,
  916.                 reserved,
  917.                 reserved,
  918.                 reserved,
  919.                 reserved,
  920.                 reserved,
  921.                 reserved,
  922.                 reserved,
  923.                 reserved,
  924.                 reserved,
  925.                 reserved,
  926.             },
  927.             {    /* array Elements: 2 elements */
  928.                 /* [1] */
  929.                 cSession,
  930.                 {
  931.                 },
  932.                 /* [2] */
  933.                 cTable,
  934.                 {    /* array KeyForms: 6 elements */
  935.                     /* [1] */
  936.                     formAbsolutePosition,
  937.                     /* [2] */
  938.                     formName,
  939.                     /* [3] */
  940.                     formPropertyID,
  941.                     /* [4] */
  942.                     formRange,
  943.                     /* [5] */
  944.                     formRelativePosition,
  945.                     /* [6] */
  946.                     formTest
  947.                 }
  948.             },
  949.             /* [4] */
  950.             "DBMS",
  951.             cDBMS,
  952.             "A database management system",
  953.             {    /* array Properties: 4 elements */
  954.                 /* [1] */
  955.                 "best type",
  956.                 pBestType,
  957.                 cType,
  958.                 "The best descriptor type",
  959.                 reserved,
  960.                 singleItem,
  961.                 notEnumerated,
  962.                 readOnly,
  963.                 reserved,
  964.                 reserved,
  965.                 reserved,
  966.                 reserved,
  967.                 reserved,
  968.                 reserved,
  969.                 reserved,
  970.                 reserved,
  971.                 reserved,
  972.                 reserved,
  973.                 reserved,
  974.                 reserved,
  975.                 /* [2] */
  976.                 "class",
  977.                 pClass,
  978.                 cType,
  979.                 "The class",
  980.                 reserved,
  981.                 singleItem,
  982.                 notEnumerated,
  983.                 readOnly,
  984.                 reserved,
  985.                 reserved,
  986.                 reserved,
  987.                 reserved,
  988.                 reserved,
  989.                 reserved,
  990.                 reserved,
  991.                 reserved,
  992.                 reserved,
  993.                 reserved,
  994.                 reserved,
  995.                 reserved,
  996.                 /* [3] */
  997.                 "default type",
  998.                 pDefaultType,
  999.                 cType,
  1000.                 "The default descriptor type",
  1001.                 reserved,
  1002.                 singleItem,
  1003.                 notEnumerated,
  1004.                 readOnly,
  1005.                 reserved,
  1006.                 reserved,
  1007.                 reserved,
  1008.                 reserved,
  1009.                 reserved,
  1010.                 reserved,
  1011.                 reserved,
  1012.                 reserved,
  1013.                 reserved,
  1014.                 reserved,
  1015.                 reserved,
  1016.                 reserved,
  1017.                 /* [4] */
  1018.                 "name",
  1019.                 pName,
  1020.                 cText,
  1021.                 "The name of the DBMS",
  1022.                 reserved,
  1023.                 singleItem,
  1024.                 notEnumerated,
  1025.                 readOnly,
  1026.                 reserved,
  1027.                 reserved,
  1028.                 reserved,
  1029.                 reserved,
  1030.                 reserved,
  1031.                 reserved,
  1032.                 reserved,
  1033.                 reserved,
  1034.                 reserved,
  1035.                 reserved,
  1036.                 reserved,
  1037.                 reserved,
  1038.             },
  1039.             {    /* array Elements: 2 elements */
  1040.                 /* [1] */
  1041.                 cSession,
  1042.                 {
  1043.                 },
  1044.                 /* [2] */
  1045.                 cDatabase,
  1046.                 {    /* array KeyForms: 6 elements */
  1047.                     /* [1] */
  1048.                     formAbsolutePosition,
  1049.                     /* [2] */
  1050.                     formName,
  1051.                     /* [3] */
  1052.                     formPropertyID,
  1053.                     /* [4] */
  1054.                     formRange,
  1055.                     /* [5] */
  1056.                     formRelativePosition,
  1057.                     /* [6] */
  1058.                     formTest
  1059.                 }
  1060.             },
  1061.             /* [5] */
  1062.             "host",
  1063.             cHost,
  1064.             "A host computer",
  1065.             {    /* array Properties: 4 elements */
  1066.                 /* [1] */
  1067.                 "best type",
  1068.                 pBestType,
  1069.                 cType,
  1070.                 "The best descriptor type",
  1071.                 reserved,
  1072.                 singleItem,
  1073.                 notEnumerated,
  1074.                 readOnly,
  1075.                 reserved,
  1076.                 reserved,
  1077.                 reserved,
  1078.                 reserved,
  1079.                 reserved,
  1080.                 reserved,
  1081.                 reserved,
  1082.                 reserved,
  1083.                 reserved,
  1084.                 reserved,
  1085.                 reserved,
  1086.                 reserved,
  1087.                 /* [2] */
  1088.                 "class",
  1089.                 pClass,
  1090.                 cType,
  1091.                 "The class",
  1092.                 reserved,
  1093.                 singleItem,
  1094.                 notEnumerated,
  1095.                 readOnly,
  1096.                 reserved,
  1097.                 reserved,
  1098.                 reserved,
  1099.                 reserved,
  1100.                 reserved,
  1101.                 reserved,
  1102.                 reserved,
  1103.                 reserved,
  1104.                 reserved,
  1105.                 reserved,
  1106.                 reserved,
  1107.                 reserved,
  1108.                 /* [3] */
  1109.                 "default type",
  1110.                 pDefaultType,
  1111.                 cType,
  1112.                 "The default descriptor type",
  1113.                 reserved,
  1114.                 singleItem,
  1115.                 notEnumerated,
  1116.                 readOnly,
  1117.                 reserved,
  1118.                 reserved,
  1119.                 reserved,
  1120.                 reserved,
  1121.                 reserved,
  1122.                 reserved,
  1123.                 reserved,
  1124.                 reserved,
  1125.                 reserved,
  1126.                 reserved,
  1127.                 reserved,
  1128.                 reserved,
  1129.                 /* [4] */
  1130.                 "name",
  1131.                 pName,
  1132.                 cText,
  1133.                 "The name of the database",
  1134.                 reserved,
  1135.                 singleItem,
  1136.                 notEnumerated,
  1137.                 readOnly,
  1138.                 reserved,
  1139.                 reserved,
  1140.                 reserved,
  1141.                 reserved,
  1142.                 reserved,
  1143.                 reserved,
  1144.                 reserved,
  1145.                 reserved,
  1146.                 reserved,
  1147.                 reserved,
  1148.                 reserved,
  1149.                 reserved,
  1150.             },
  1151.             {    /* array Elements: 3 elements */
  1152.                 /* [1] */
  1153.                 cSession,
  1154.                 {
  1155.                 },
  1156.                 /* [2] */
  1157.                 cDBMS,
  1158.                 {    /* array KeyForms: 6 elements */
  1159.                     /* [1] */
  1160.                     formAbsolutePosition,
  1161.                     /* [2] */
  1162.                     formName,
  1163.                     /* [3] */
  1164.                     formPropertyID,
  1165.                     /* [4] */
  1166.                     formRange,
  1167.                     /* [5] */
  1168.                     formRelativePosition,
  1169.                     /* [6] */
  1170.                     formTest
  1171.                 },
  1172.                 /* [3] */
  1173.                 cDatabase,
  1174.                 {    /* array KeyForms: 6 elements */
  1175.                     /* [1] */
  1176.                     formAbsolutePosition,
  1177.                     /* [2] */
  1178.                     formName,
  1179.                     /* [3] */
  1180.                     formPropertyID,
  1181.                     /* [4] */
  1182.                     formRange,
  1183.                     /* [5] */
  1184.                     formRelativePosition,
  1185.                     /* [6] */
  1186.                     formTest
  1187.                 }
  1188.             },
  1189.             /* [6] */
  1190.             "key",
  1191.             cKey,
  1192.             "An indexed column",
  1193.             {    /* array Properties: 5 elements */
  1194.                 /* [1] */
  1195.                 "best type",
  1196.                 pBestType,
  1197.                 cType,
  1198.                 "The best descriptor type",
  1199.                 reserved,
  1200.                 singleItem,
  1201.                 notEnumerated,
  1202.                 readOnly,
  1203.                 reserved,
  1204.                 reserved,
  1205.                 reserved,
  1206.                 reserved,
  1207.                 reserved,
  1208.                 reserved,
  1209.                 reserved,
  1210.                 reserved,
  1211.                 reserved,
  1212.                 reserved,
  1213.                 reserved,
  1214.                 reserved,
  1215.                 /* [2] */
  1216.                 "class",
  1217.                 pClass,
  1218.                 cType,
  1219.                 "The class",
  1220.                 reserved,
  1221.                 singleItem,
  1222.                 notEnumerated,
  1223.                 readOnly,
  1224.                 reserved,
  1225.                 reserved,
  1226.                 reserved,
  1227.                 reserved,
  1228.                 reserved,
  1229.                 reserved,
  1230.                 reserved,
  1231.                 reserved,
  1232.                 reserved,
  1233.                 reserved,
  1234.                 reserved,
  1235.                 reserved,
  1236.                 /* [3] */
  1237.                 "current sort",
  1238.                 pCurrentSort,
  1239.                 cShortInteger,
  1240.                 "The current sort",
  1241.                 reserved,
  1242.                 singleItem,
  1243.                 notEnumerated,
  1244.                 readOnly,
  1245.                 reserved,
  1246.                 reserved,
  1247.                 reserved,
  1248.                 reserved,
  1249.                 reserved,
  1250.                 reserved,
  1251.                 reserved,
  1252.                 reserved,
  1253.                 reserved,
  1254.                 reserved,
  1255.                 reserved,
  1256.                 reserved,
  1257.                 /* [4] */
  1258.                 "default type",
  1259.                 pDefaultType,
  1260.                 cType,
  1261.                 "The default descriptor type",
  1262.                 reserved,
  1263.                 singleItem,
  1264.                 notEnumerated,
  1265.                 readOnly,
  1266.                 reserved,
  1267.                 reserved,
  1268.                 reserved,
  1269.                 reserved,
  1270.                 reserved,
  1271.                 reserved,
  1272.                 reserved,
  1273.                 reserved,
  1274.                 reserved,
  1275.                 reserved,
  1276.                 reserved,
  1277.                 reserved,
  1278.                 /* [5] */
  1279.                 "name",
  1280.                 pName,
  1281.                 cText,
  1282.                 "The name of the database",
  1283.                 reserved,
  1284.                 singleItem,
  1285.                 notEnumerated,
  1286.                 readOnly,
  1287.                 reserved,
  1288.                 reserved,
  1289.                 reserved,
  1290.                 reserved,
  1291.                 reserved,
  1292.                 reserved,
  1293.                 reserved,
  1294.                 reserved,
  1295.                 reserved,
  1296.                 reserved,
  1297.                 reserved,
  1298.                 reserved,
  1299.                 /* [6] */
  1300.                 "primary key",
  1301.                 pPrimaryKey,
  1302.                 cBoolean,
  1303.                 "Is this the primary key for the table?",
  1304.                 reserved,
  1305.                 singleItem,
  1306.                 notEnumerated,
  1307.                 readOnly,
  1308.                 reserved,
  1309.                 reserved,
  1310.                 reserved,
  1311.                 reserved,
  1312.                 reserved,
  1313.                 reserved,
  1314.                 reserved,
  1315.                 reserved,
  1316.                 reserved,
  1317.                 reserved,
  1318.                 reserved,
  1319.                 reserved,
  1320.                 /* [6] */
  1321.                 "unique value",
  1322.                 pUniqueValue,
  1323.                 cBoolean,
  1324.                 "Is this key unique for every row?",
  1325.                 reserved,
  1326.                 singleItem,
  1327.                 notEnumerated,
  1328.                 readWrite,
  1329.                 reserved,
  1330.                 reserved,
  1331.                 reserved,
  1332.                 reserved,
  1333.                 reserved,
  1334.                 reserved,
  1335.                 reserved,
  1336.                 reserved,
  1337.                 reserved,
  1338.                 reserved,
  1339.                 reserved,
  1340.                 reserved,
  1341.             },
  1342.             {    /* array Elements: 1 elements */
  1343.                 /* [1] */
  1344.                 cColumn,
  1345.                 {    /* array KeyForms: 6 elements */
  1346.                     /* [1] */
  1347.                     formAbsolutePosition,
  1348.                     /* [2] */
  1349.                     formName,
  1350.                     /* [3] */
  1351.                     formPropertyID,
  1352.                     /* [4] */
  1353.                     formRange,
  1354.                     /* [5] */
  1355.                     formRelativePosition,
  1356.                     /* [6] */
  1357.                     formTest
  1358.                 }
  1359.             },
  1360.             /* [7] */
  1361.             "row",
  1362.             cRow,
  1363.             "A row in a table",
  1364.             {    /* array Properties: 8 elements */
  1365.                 /* [1] */
  1366.                 "access",
  1367.                 pAccess,
  1368.                 enumAccess,
  1369.                 "The access privilege",
  1370.                 reserved,
  1371.                 singleItem,
  1372.                 enumerated,
  1373.                 readOnly,
  1374.                 reserved,
  1375.                 reserved,
  1376.                 reserved,
  1377.                 reserved,
  1378.                 reserved,
  1379.                 reserved,
  1380.                 reserved,
  1381.                 reserved,
  1382.                 reserved,
  1383.                 reserved,
  1384.                 reserved,
  1385.                 reserved,
  1386.                 /* [2] */
  1387.                 "best type",
  1388.                 pBestType,
  1389.                 cType,
  1390.                 "The best descriptor type",
  1391.                 reserved,
  1392.                 singleItem,
  1393.                 notEnumerated,
  1394.                 readOnly,
  1395.                 reserved,
  1396.                 reserved,
  1397.                 reserved,
  1398.                 reserved,
  1399.                 reserved,
  1400.                 reserved,
  1401.                 reserved,
  1402.                 reserved,
  1403.                 reserved,
  1404.                 reserved,
  1405.                 reserved,
  1406.                 reserved,
  1407.                 /* [3] */
  1408.                 "class",
  1409.                 pClass,
  1410.                 cType,
  1411.                 "The class",
  1412.                 reserved,
  1413.                 singleItem,
  1414.                 notEnumerated,
  1415.                 readOnly,
  1416.                 reserved,
  1417.                 reserved,
  1418.                 reserved,
  1419.                 reserved,
  1420.                 reserved,
  1421.                 reserved,
  1422.                 reserved,
  1423.                 reserved,
  1424.                 reserved,
  1425.                 reserved,
  1426.                 reserved,
  1427.                 reserved,
  1428.                 /* [4] */
  1429.                 "default type",
  1430.                 pDefaultType,
  1431.                 cType,
  1432.                 "The default descriptor type",
  1433.                 reserved,
  1434.                 singleItem,
  1435.                 notEnumerated,
  1436.                 readOnly,
  1437.                 reserved,
  1438.                 reserved,
  1439.                 reserved,
  1440.                 reserved,
  1441.                 reserved,
  1442.                 reserved,
  1443.                 reserved,
  1444.                 reserved,
  1445.                 reserved,
  1446.                 reserved,
  1447.                 reserved,
  1448.                 reserved,
  1449.                 /* [5] */
  1450.                 "id",
  1451.                 pID,
  1452.                 cLongInteger,
  1453.                 "The unique ID of this row",
  1454.                 reserved,
  1455.                 singleItem,
  1456.                 notEnumerated,
  1457.                 readOnly,
  1458.                 reserved,
  1459.                 reserved,
  1460.                 reserved,
  1461.                 reserved,
  1462.                 reserved,
  1463.                 reserved,
  1464.                 reserved,
  1465.                 reserved,
  1466.                 reserved,
  1467.                 reserved,
  1468.                 reserved,
  1469.                 reserved,
  1470.                 /* [6] */
  1471.                 "lock",
  1472.                 pLock,
  1473.                 enumLockTypes,
  1474.                 "The lock status of the row",
  1475.                 reserved,
  1476.                 singleItem,
  1477.                 enumerated,
  1478.                 readWrite,
  1479.                 reserved,
  1480.                 reserved,
  1481.                 reserved,
  1482.                 reserved,
  1483.                 reserved,
  1484.                 reserved,
  1485.                 reserved,
  1486.                 reserved,
  1487.                 reserved,
  1488.                 reserved,
  1489.                 reserved,
  1490.                 reserved,
  1491.                 /* [7] */
  1492.                 "name",
  1493.                 pName,
  1494.                 cText,
  1495.                 "The name of the row",
  1496.                 reserved,
  1497.                 singleItem,
  1498.                 notEnumerated,
  1499.                 readWrite,
  1500.                 reserved,
  1501.                 reserved,
  1502.                 reserved,
  1503.                 reserved,
  1504.                 reserved,
  1505.                 reserved,
  1506.                 reserved,
  1507.                 reserved,
  1508.                 reserved,
  1509.                 reserved,
  1510.                 reserved,
  1511.                 reserved,
  1512.                 /* [8] */
  1513.                 "protection",
  1514.                 pProtection,
  1515.                 enumProtection,
  1516.                 "The protection of this row",
  1517.                 reserved,
  1518.                 singleItem,
  1519.                 enumerated,
  1520.                 readWrite,
  1521.                 reserved,
  1522.                 reserved,
  1523.                 reserved,
  1524.                 reserved,
  1525.                 reserved,
  1526.                 reserved,
  1527.                 reserved,
  1528.                 reserved,
  1529.                 reserved,
  1530.                 reserved,
  1531.                 reserved,
  1532.                 reserved,
  1533.             },
  1534.             {    /* array Elements: 2 elements */
  1535.                 /* [1] */
  1536.                 cCell,
  1537.                 {    /* array KeyForms: 6 elements */
  1538.                     /* [1] */
  1539.                     formAbsolutePosition,
  1540.                     /* [2] */
  1541.                     formName,
  1542.                     /* [3] */
  1543.                     formPropertyID,
  1544.                     /* [4] */
  1545.                     formRange,
  1546.                     /* [5] */
  1547.                     formRelativePosition,
  1548.                     /* [6] */
  1549.                     formTest
  1550.                 },
  1551.                 /* [2] */
  1552.                 cTable,
  1553.                 {    /* array KeyForms: 6 elements */
  1554.                     /* [1] */
  1555.                     formAbsolutePosition,
  1556.                     /* [2] */
  1557.                     formName,
  1558.                     /* [3] */
  1559.                     formPropertyID,
  1560.                     /* [4] */
  1561.                     formRange,
  1562.                     /* [5] */
  1563.                     formRelativePosition,
  1564.                     /* [6] */
  1565.                     formTest
  1566.                 }
  1567.             },
  1568.             /* [8] */
  1569.             "row selection",
  1570.             cRowSelection,
  1571.             "A selection of rows in a table",
  1572.             {    /* array Properties: 8 elements */
  1573.                 /* [1] */
  1574.                 "access",
  1575.                 pAccess,
  1576.                 enumAccess,
  1577.                 "The access privilege",
  1578.                 reserved,
  1579.                 singleItem,
  1580.                 enumerated,
  1581.                 readOnly,
  1582.                 reserved,
  1583.                 reserved,
  1584.                 reserved,
  1585.                 reserved,
  1586.                 reserved,
  1587.                 reserved,
  1588.                 reserved,
  1589.                 reserved,
  1590.                 reserved,
  1591.                 reserved,
  1592.                 reserved,
  1593.                 reserved,
  1594.                 /* [2] */
  1595.                 "best type",
  1596.                 pBestType,
  1597.                 cType,
  1598.                 "The best descriptor type",
  1599.                 reserved,
  1600.                 singleItem,
  1601.                 notEnumerated,
  1602.                 readOnly,
  1603.                 reserved,
  1604.                 reserved,
  1605.                 reserved,
  1606.                 reserved,
  1607.                 reserved,
  1608.                 reserved,
  1609.                 reserved,
  1610.                 reserved,
  1611.                 reserved,
  1612.                 reserved,
  1613.                 reserved,
  1614.                 reserved,
  1615.                 /* [3] */
  1616.                 "class",
  1617.                 pClass,
  1618.                 cType,
  1619.                 "The class",
  1620.                 reserved,
  1621.                 singleItem,
  1622.                 notEnumerated,
  1623.                 readOnly,
  1624.                 reserved,
  1625.                 reserved,
  1626.                 reserved,
  1627.                 reserved,
  1628.                 reserved,
  1629.                 reserved,
  1630.                 reserved,
  1631.                 reserved,
  1632.                 reserved,
  1633.                 reserved,
  1634.                 reserved,
  1635.                 reserved,
  1636.                 /* [4] */
  1637.                 "default type",
  1638.                 pDefaultType,
  1639.                 cType,
  1640.                 "The default descriptor type",
  1641.                 reserved,
  1642.                 singleItem,
  1643.                 notEnumerated,
  1644.                 readOnly,
  1645.                 reserved,
  1646.                 reserved,
  1647.                 reserved,
  1648.                 reserved,
  1649.                 reserved,
  1650.                 reserved,
  1651.                 reserved,
  1652.                 reserved,
  1653.                 reserved,
  1654.                 reserved,
  1655.                 reserved,
  1656.                 reserved,
  1657.                 /* [5] */
  1658.                 "kind",
  1659.                 pKind,
  1660.                 enumTableTypes,
  1661.                 "The kind of table selected",
  1662.                 reserved,
  1663.                 singleItem,
  1664.                 enumerated,
  1665.                 readOnly,
  1666.                 reserved,
  1667.                 reserved,
  1668.                 reserved,
  1669.                 reserved,
  1670.                 reserved,
  1671.                 reserved,
  1672.                 reserved,
  1673.                 reserved,
  1674.                 reserved,
  1675.                 reserved,
  1676.                 reserved,
  1677.                 reserved,
  1678.                 /* [6] */
  1679.                 "lock",
  1680.                 pLock,
  1681.                 enumLockTypes,
  1682.                 "The lock status of the row",
  1683.                 reserved,
  1684.                 singleItem,
  1685.                 enumerated,
  1686.                 readWrite,
  1687.                 reserved,
  1688.                 reserved,
  1689.                 reserved,
  1690.                 reserved,
  1691.                 reserved,
  1692.                 reserved,
  1693.                 reserved,
  1694.                 reserved,
  1695.                 reserved,
  1696.                 reserved,
  1697.                 reserved,
  1698.                 reserved,
  1699.                 /* [7] */
  1700.                 "name",
  1701.                 pName,
  1702.                 cText,
  1703.                 "The name of the row",
  1704.                 reserved,
  1705.                 singleItem,
  1706.                 notEnumerated,
  1707.                 readWrite,
  1708.                 reserved,
  1709.                 reserved,
  1710.                 reserved,
  1711.                 reserved,
  1712.                 reserved,
  1713.                 reserved,
  1714.                 reserved,
  1715.                 reserved,
  1716.                 reserved,
  1717.                 reserved,
  1718.                 reserved,
  1719.                 reserved,
  1720.                 /* [8] */
  1721.                 "protection",
  1722.                 pProtection,
  1723.                 enumProtection,
  1724.                 "The protection of this row selection",
  1725.                 reserved,
  1726.                 singleItem,
  1727.                 enumerated,
  1728.                 readWrite,
  1729.                 reserved,
  1730.                 reserved,
  1731.                 reserved,
  1732.                 reserved,
  1733.                 reserved,
  1734.                 reserved,
  1735.                 reserved,
  1736.                 reserved,
  1737.                 reserved,
  1738.                 reserved,
  1739.                 reserved,
  1740.                 reserved,
  1741.                 /* [9] */
  1742.                 "row ids",
  1743.                 pRowIDs,
  1744.                 cAEList,
  1745.                 "A list of row IDs for the rows in this selection",
  1746.                 reserved,
  1747.                 singleItem,
  1748.                 notEnumerated,
  1749.                 readOnly,
  1750.                 reserved,
  1751.                 reserved,
  1752.                 reserved,
  1753.                 reserved,
  1754.                 reserved,
  1755.                 reserved,
  1756.                 reserved,
  1757.                 reserved,
  1758.                 reserved,
  1759.                 reserved,
  1760.                 reserved,
  1761.                 reserved,
  1762.             },
  1763.             {    /* array Elements: 3 elements */
  1764.                 /* [1] */
  1765.                 cColumn,
  1766.                 {    /* array KeyForms: 6 elements */
  1767.                     /* [1] */
  1768.                     formAbsolutePosition,
  1769.                     /* [2] */
  1770.                     formName,
  1771.                     /* [3] */
  1772.                     formPropertyID,
  1773.                     /* [4] */
  1774.                     formRange,
  1775.                     /* [5] */
  1776.                     formRelativePosition,
  1777.                     /* [6] */
  1778.                     formTest
  1779.                 },
  1780.                 /* [2] */
  1781.                 cRow,
  1782.                 {    /* array KeyForms: 6 elements */
  1783.                     /* [1] */
  1784.                     formAbsolutePosition,
  1785.                     /* [2] */
  1786.                     formName,
  1787.                     /* [3] */
  1788.                     formPropertyID,
  1789.                     /* [4] */
  1790.                     formRange,
  1791.                     /* [5] */
  1792.                     formRelativePosition,
  1793.                     /* [6] */
  1794.                     formTest
  1795.                 },
  1796.                 /* [3] */
  1797.                 cKey,
  1798.                 {    /* array KeyForms: 6 elements */
  1799.                     /* [1] */
  1800.                     formAbsolutePosition,
  1801.                     /* [2] */
  1802.                     formName,
  1803.                     /* [3] */
  1804.                     formPropertyID,
  1805.                     /* [4] */
  1806.                     formRange,
  1807.                     /* [5] */
  1808.                     formRelativePosition,
  1809.                     /* [6] */
  1810.                     formTest
  1811.                 }
  1812.             },
  1813.             /* [9] */
  1814.             "session",
  1815.             cSession,
  1816.             "An authenticated session",
  1817.             {    /* array Properties: 9 elements */
  1818.                 /* [1] */
  1819.                 "account",
  1820.                 pAccount,
  1821.                 cText,
  1822.                 "An optional account number",
  1823.                 reserved,
  1824.                 singleItem,
  1825.                 notEnumerated,
  1826.                 readWrite,
  1827.                 reserved,
  1828.                 reserved,
  1829.                 reserved,
  1830.                 reserved,
  1831.                 reserved,
  1832.                 reserved,
  1833.                 reserved,
  1834.                 reserved,
  1835.                 reserved,
  1836.                 reserved,
  1837.                 reserved,
  1838.                 reserved,
  1839.                 /* [2] */
  1840.                 "best type",
  1841.                 pBestType,
  1842.                 cType,
  1843.                 "The best descriptor type",
  1844.                 reserved,
  1845.                 singleItem,
  1846.                 notEnumerated,
  1847.                 readOnly,
  1848.                 reserved,
  1849.                 reserved,
  1850.                 reserved,
  1851.                 reserved,
  1852.                 reserved,
  1853.                 reserved,
  1854.                 reserved,
  1855.                 reserved,
  1856.                 reserved,
  1857.                 reserved,
  1858.                 reserved,
  1859.                 reserved,
  1860.                 /* [3] */
  1861.                 "class",
  1862.                 pClass,
  1863.                 cType,
  1864.                 "The class",
  1865.                 reserved,
  1866.                 singleItem,
  1867.                 notEnumerated,
  1868.                 readOnly,
  1869.                 reserved,
  1870.                 reserved,
  1871.                 reserved,
  1872.                 reserved,
  1873.                 reserved,
  1874.                 reserved,
  1875.                 reserved,
  1876.                 reserved,
  1877.                 reserved,
  1878.                 reserved,
  1879.                 reserved,
  1880.                 reserved,
  1881.                 /* [4] */
  1882.                 "default type",
  1883.                 pDefaultType,
  1884.                 cType,
  1885.                 "The default descriptor type",
  1886.                 reserved,
  1887.                 singleItem,
  1888.                 notEnumerated,
  1889.                 readOnly,
  1890.                 reserved,
  1891.                 reserved,
  1892.                 reserved,
  1893.                 reserved,
  1894.                 reserved,
  1895.                 reserved,
  1896.                 reserved,
  1897.                 reserved,
  1898.                 reserved,
  1899.                 reserved,
  1900.                 reserved,
  1901.                 reserved,
  1902.                 /* [5] */
  1903.                 "guest",
  1904.                 pGuest,
  1905.                 cBoolean,
  1906.                 "Is this requesting guest access",
  1907.                 reserved,
  1908.                 singleItem,
  1909.                 notEnumerated,
  1910.                 readWrite,
  1911.                 reserved,
  1912.                 reserved,
  1913.                 reserved,
  1914.                 reserved,
  1915.                 reserved,
  1916.                 reserved,
  1917.                 reserved,
  1918.                 reserved,
  1919.                 reserved,
  1920.                 reserved,
  1921.                 reserved,
  1922.                 reserved,
  1923.                 /* [6] */
  1924.                 "id",
  1925.                 pID,
  1926.                 cText,
  1927.                 "The unique ID for this session",
  1928.                 reserved,
  1929.                 singleItem,
  1930.                 notEnumerated,
  1931.                 readOnly,
  1932.                 reserved,
  1933.                 reserved,
  1934.                 reserved,
  1935.                 reserved,
  1936.                 reserved,
  1937.                 reserved,
  1938.                 reserved,
  1939.                 reserved,
  1940.                 reserved,
  1941.                 reserved,
  1942.                 reserved,
  1943.                 reserved,
  1944.                 /* [7] */
  1945.                 "current transaction",
  1946.                 pOpenTransaction,
  1947.                 cLongInteger,
  1948.                 "The current transaction ID",
  1949.                 reserved,
  1950.                 singleItem,
  1951.                 notEnumerated,
  1952.                 readOnly,
  1953.                 reserved,
  1954.                 reserved,
  1955.                 reserved,
  1956.                 reserved,
  1957.                 reserved,
  1958.                 reserved,
  1959.                 reserved,
  1960.                 reserved,
  1961.                 reserved,
  1962.                 reserved,
  1963.                 reserved,
  1964.                 reserved,
  1965.                 /* [8] */
  1966.                 "password",
  1967.                 pPassword,
  1968.                 cText,
  1969.                 "The password for this user",
  1970.                 reserved,
  1971.                 singleItem,
  1972.                 notEnumerated,
  1973.                 readWrite,
  1974.                 reserved,
  1975.                 reserved,
  1976.                 reserved,
  1977.                 reserved,
  1978.                 reserved,
  1979.                 reserved,
  1980.                 reserved,
  1981.                 reserved,
  1982.                 reserved,
  1983.                 reserved,
  1984.                 reserved,
  1985.                 reserved,
  1986.                 /* [9] */
  1987.                 "user",
  1988.                 pUser,
  1989.                 cText,
  1990.                 "The user name for this session",
  1991.                 reserved,
  1992.                 singleItem,
  1993.                 notEnumerated,
  1994.                 readOnly,
  1995.                 reserved,
  1996.                 reserved,
  1997.                 reserved,
  1998.                 reserved,
  1999.                 reserved,
  2000.                 reserved,
  2001.                 reserved,
  2002.                 reserved,
  2003.                 reserved,
  2004.                 reserved,
  2005.                 reserved,
  2006.                 reserved,
  2007.             },
  2008.             {    /* array Elements: 0 elements */
  2009.             },
  2010.             /* [10] */
  2011.             "table",
  2012.             cTable,
  2013.             "A table of a database",
  2014.             {    /* array Properties: 8 elements */
  2015.                 /* [1] */
  2016.                 "access",
  2017.                 pAccess,
  2018.                 enumAccess,
  2019.                 "The access privilege",
  2020.                 reserved,
  2021.                 singleItem,
  2022.                 enumerated,
  2023.                 readOnly,
  2024.                 reserved,
  2025.                 reserved,
  2026.                 reserved,
  2027.                 reserved,
  2028.                 reserved,
  2029.                 reserved,
  2030.                 reserved,
  2031.                 reserved,
  2032.                 reserved,
  2033.                 reserved,
  2034.                 reserved,
  2035.                 reserved,
  2036.                 /* [2] */
  2037.                 "best type",
  2038.                 pBestType,
  2039.                 cType,
  2040.                 "The best descriptor type",
  2041.                 reserved,
  2042.                 singleItem,
  2043.                 notEnumerated,
  2044.                 readOnly,
  2045.                 reserved,
  2046.                 reserved,
  2047.                 reserved,
  2048.                 reserved,
  2049.                 reserved,
  2050.                 reserved,
  2051.                 reserved,
  2052.                 reserved,
  2053.                 reserved,
  2054.                 reserved,
  2055.                 reserved,
  2056.                 reserved,
  2057.                 /* [3] */
  2058.                 "class",
  2059.                 pClass,
  2060.                 cType,
  2061.                 "The class",
  2062.                 reserved,
  2063.                 singleItem,
  2064.                 notEnumerated,
  2065.                 readOnly,
  2066.                 reserved,
  2067.                 reserved,
  2068.                 reserved,
  2069.                 reserved,
  2070.                 reserved,
  2071.                 reserved,
  2072.                 reserved,
  2073.                 reserved,
  2074.                 reserved,
  2075.                 reserved,
  2076.                 reserved,
  2077.                 reserved,
  2078.                 /* [4] */
  2079.                 "default type",
  2080.                 pDefaultType,
  2081.                 cType,
  2082.                 "The default descriptor type",
  2083.                 reserved,
  2084.                 singleItem,
  2085.                 notEnumerated,
  2086.                 readOnly,
  2087.                 reserved,
  2088.                 reserved,
  2089.                 reserved,
  2090.                 reserved,
  2091.                 reserved,
  2092.                 reserved,
  2093.                 reserved,
  2094.                 reserved,
  2095.                 reserved,
  2096.                 reserved,
  2097.                 reserved,
  2098.                 reserved,
  2099.                 /* [5] */
  2100.                 "kind",
  2101.                 pKind,
  2102.                 enumTableTypes,
  2103.                 "The kind of table that this represents",
  2104.                 reserved,
  2105.                 singleItem,
  2106.                 enumerated,
  2107.                 readOnly,
  2108.                 reserved,
  2109.                 reserved,
  2110.                 reserved,
  2111.                 reserved,
  2112.                 reserved,
  2113.                 reserved,
  2114.                 reserved,
  2115.                 reserved,
  2116.                 reserved,
  2117.                 reserved,
  2118.                 reserved,
  2119.                 reserved,
  2120.                 /* [6] */
  2121.                 "lock",
  2122.                 pLock,
  2123.                 enumLockTypes,
  2124.                 "The lock status of the table",
  2125.                 reserved,
  2126.                 singleItem,
  2127.                 enumerated,
  2128.                 readWrite,
  2129.                 reserved,
  2130.                 reserved,
  2131.                 reserved,
  2132.                 reserved,
  2133.                 reserved,
  2134.                 reserved,
  2135.                 reserved,
  2136.                 reserved,
  2137.                 reserved,
  2138.                 reserved,
  2139.                 reserved,
  2140.                 reserved,
  2141.                 /* [7] */
  2142.                 "name",
  2143.                 pName,
  2144.                 cText,
  2145.                 "The name of the table",
  2146.                 reserved,
  2147.                 singleItem,
  2148.                 notEnumerated,
  2149.                 readWrite,
  2150.                 reserved,
  2151.                 reserved,
  2152.                 reserved,
  2153.                 reserved,
  2154.                 reserved,
  2155.                 reserved,
  2156.                 reserved,
  2157.                 reserved,
  2158.                 reserved,
  2159.                 reserved,
  2160.                 reserved,
  2161.                 reserved,
  2162.                 /* [8] */
  2163.                 "protection",
  2164.                 pProtection,
  2165.                 enumProtection,
  2166.                 "The protection for this table",
  2167.                 reserved,
  2168.                 singleItem,
  2169.                 enumerated,
  2170.                 readWrite,
  2171.                 reserved,
  2172.                 reserved,
  2173.                 reserved,
  2174.                 reserved,
  2175.                 reserved,
  2176.                 reserved,
  2177.                 reserved,
  2178.                 reserved,
  2179.                 reserved,
  2180.                 reserved,
  2181.                 reserved,
  2182.                 reserved,
  2183.             },
  2184.             {    /* array Elements: 2 elements */
  2185.                 /* [1] */
  2186.                 cCell,
  2187.                 {    /* array KeyForms: 6 elements */
  2188.                     /* [1] */
  2189.                     formAbsolutePosition,
  2190.                     /* [2] */
  2191.                     formName,
  2192.                     /* [3] */
  2193.                     formPropertyID,
  2194.                     /* [4] */
  2195.                     formRange,
  2196.                     /* [5] */
  2197.                     formRelativePosition,
  2198.                     /* [6] */
  2199.                     formTest
  2200.                 },
  2201.                 /* [2] */
  2202.                 cColumn,
  2203.                 {    /* array KeyForms: 6 elements */
  2204.                     /* [1] */
  2205.                     formAbsolutePosition,
  2206.                     /* [2] */
  2207.                     formName,
  2208.                     /* [3] */
  2209.                     formPropertyID,
  2210.                     /* [4] */
  2211.                     formRange,
  2212.                     /* [5] */
  2213.                     formRelativePosition,
  2214.                     /* [6] */
  2215.                     formTest
  2216.                 },
  2217.                 /* [3] */
  2218.                 cKey,
  2219.                 {    /* array KeyForms: 6 elements */
  2220.                     /* [1] */
  2221.                     formAbsolutePosition,
  2222.                     /* [2] */
  2223.                     formName,
  2224.                     /* [3] */
  2225.                     formPropertyID,
  2226.                     /* [4] */
  2227.                     formRange,
  2228.                     /* [5] */
  2229.                     formRelativePosition,
  2230.                     /* [6] */
  2231.                     formTest
  2232.                 },
  2233.                 /* [4] */
  2234.                 cRow,
  2235.                 {    /* array KeyForms: 6 elements */
  2236.                     /* [1] */
  2237.                     formAbsolutePosition,
  2238.                     /* [2] */
  2239.                     formName,
  2240.                     /* [3] */
  2241.                     formPropertyID,
  2242.                     /* [4] */
  2243.                     formRange,
  2244.                     /* [5] */
  2245.                     formRelativePosition,
  2246.                     /* [6] */
  2247.                     formTest
  2248.                 }
  2249.             },
  2250.         },
  2251.         {    /* array ComparisonOps: 0 elements */
  2252.         },
  2253.         {    /* array Enumerations: 3 elements */
  2254.             /* [1] */
  2255.             enumGroupFunctions,
  2256.             {    /* array Enumerators: 7 elements */
  2257.                 /* [1] */
  2258.                 "Sum",
  2259.                 kSum,
  2260.                 "Summarize sum of elements",
  2261.                 /* [2] */
  2262.                 "Count",
  2263.                 kCount,
  2264.                 "Summarize count of elements",
  2265.                 /* [3] */
  2266.                 "Mean",
  2267.                 kMean,
  2268.                 "Summarize mean of elements",
  2269.                 /* [4] */
  2270.                 "Standard Deviation",
  2271.                 kStdDev,
  2272.                 "Summarize standard deviation of elements",
  2273.                 /* [5] */
  2274.                 "Average",
  2275.                 kAverage ,
  2276.                 "Summarize average of elements",
  2277.                 /* [6] */
  2278.                 "Minimum",
  2279.                 kMinimum ,
  2280.                 "Summarize the minimum of the elements",
  2281.                 /* [7] */
  2282.                 "Maximum",
  2283.                 kMaximum ,
  2284.                 "Summarize the maximum of the elements"
  2285.             },
  2286.             /* [2] */
  2287.             enumTableTypes,
  2288.             {    /* array Enumerators: 4 elements */
  2289.                 /* [1] */
  2290.                 "Table",
  2291.                 kTable,
  2292.                 "A table",
  2293.                 /* [2] */
  2294.                 "View",
  2295.                 kView,
  2296.                 "A view",
  2297.                 /* [3] */
  2298.                 "Cursor",
  2299.                 kCursor,
  2300.                 "A cursor",
  2301.                 /* [4] */
  2302.                 "Linkset",
  2303.                 kLinkset,
  2304.                 "A Linkset"
  2305.             },
  2306.             /* [3] */
  2307.             enumProtection,
  2308.             {    /* array Enumerators: 3 elements */
  2309.                 /* [1] */
  2310.                 "Read Only",
  2311.                 kAENonmodifiable ,
  2312.                 "Can't change values or formulas",
  2313.                 /* [2] */
  2314.                 "Formulas Protected",
  2315.                 kAEFormulaProtect ,
  2316.                 "Can changes values but not formulas",
  2317.                 /* [3] */
  2318.                 "Read/Write",
  2319.                 kAEModifiable ,
  2320.                 "Can change values and formulas"
  2321.             },
  2322.             /* [4] */
  2323.             enumLockTypes,
  2324.             {    /* array Enumerators: 3 elements */
  2325.                 /* [1] */
  2326.                 "Unlocked",
  2327.                 kNoLock ,
  2328.                 "Not currently locked",
  2329.                 /* [2] */
  2330.                 "Shared Lock",
  2331.                 kSharedLock ,
  2332.                 "A multiple reader lock",
  2333.                 /* [3] */
  2334.                 "Exclusive Lock",
  2335.                 kExclusiveLock ,
  2336.                 "A read/write lock"
  2337.             },
  2338.             /* [5] */
  2339.             enumAccess,
  2340.             {    /* array Enumerators: 11 elements */
  2341.                 /* [1] */
  2342.                 "No access",
  2343.                 kNoAccess,
  2344.                 "No access",
  2345.                 /* [2] */
  2346.                 "Read",
  2347.                 kReadAccess,
  2348.                 "Read only access",
  2349.                 /* [3] */
  2350.                 "Write",
  2351.                 kWriteAccess,
  2352.                 "Write only access",
  2353.                 /* [4] */
  2354.                 "Read/write",
  2355.                 kReadAccess + kWriteAccess,
  2356.                 "Read/write access",
  2357.                 /* [5] */
  2358.                 "Update",
  2359.                 kUpdateAccess,
  2360.                 "Update access",
  2361.                 /* [6] */
  2362.                 "Read/write/update",
  2363.                 kReadAccess + kWriteAccess + kUpdateAccess,
  2364.                 "Read/write/update access",
  2365.                 /* [7] */
  2366.                 "Create",
  2367.                 kCreateAccess,
  2368.                 "Create access",
  2369.                 /* [8] */
  2370.                 "Write created",
  2371.                 kReadAccess + kCreateAccess,
  2372.                 "Read/create access",
  2373.                 /* [9] */
  2374.                 "No delete",
  2375.                 kReadAccess + kWriteAccess + kUpdateAccess + kCreateAccess,
  2376.                 "No delete access",
  2377.                 /* [10] */
  2378.                 "Delete",
  2379.                 kDeleteAccess,
  2380.                 "Delete access",
  2381.                 /* [11] */
  2382.                 "Full",
  2383.                 kReadAccess + kWriteAccess + kUpdateAccess + kCreateAccess + kDeleteAccess,
  2384.                 "Full access"
  2385.             },
  2386.             enumSortDirection,
  2387.             {    /* array Enumerators: 4 elements */
  2388.                 /* [1] */
  2389.                 "Ascending",
  2390.                 kAscending,
  2391.                 "Ascending sort order",
  2392.                 /* [2] */
  2393.                 "Descending",
  2394.                 kDescending,
  2395.                 "Descending sort order",
  2396.                 /* [3] */
  2397.                 "Numeric",
  2398.                 kNumeric,
  2399.                 "Numeric sort order",
  2400.                 /* [4] */
  2401.                 "Textual",
  2402.                 kTextual,
  2403.                 "Text sort order"
  2404.             },
  2405.         },
  2406.     },
  2407. };
  2408.  
  2409.